#!/bin/bash

# 测试刻度值显示功能的脚本

echo "=== 测试刻度值显示功能 ==="

# 1. 检查X轴刻度值配置
echo "1. 检查X轴刻度值配置..."
if grep -q "display: true.*// 显示X轴刻度值" src/main/resources/static/js/app.js; then
    echo "✓ X轴刻度值已设置为显示"
else
    echo "✗ X轴刻度值显示设置未找到"
fi

# 2. 检查Y轴刻度值配置
echo -e "\n2. 检查Y轴刻度值配置..."
if grep -q "display: true.*// 显示Y轴刻度值" src/main/resources/static/js/app.js; then
    echo "✓ Y轴刻度值已设置为显示"
else
    echo "✗ Y轴刻度值显示设置未找到"
fi

# 3. 检查X轴回调函数
echo -e "\n3. 检查X轴回调函数..."
if grep -q "callback.*value.toFixed" src/main/resources/static/js/app.js; then
    echo "✓ X轴刻度值格式化函数已配置"
else
    echo "✗ X轴刻度值格式化函数未找到"
fi

# 4. 检查Y轴回调函数
echo -e "\n4. 检查Y轴回调函数..."
if grep -q "callback.*faultTypes" src/main/resources/static/js/app.js; then
    echo "✓ Y轴故障类型标签函数已配置"
else
    echo "✗ Y轴故障类型标签函数未找到"
fi

# 5. 检查数据点标签配置
echo -e "\n5. 检查数据点标签配置..."
if grep -q "datalabels.*display: false" src/main/resources/static/js/app.js; then
    echo "✓ 数据点数值标签已设置为不显示"
else
    echo "✗ 数据点数值标签配置未找到"
fi

# 6. 显示配置摘要
echo -e "\n6. 刻度值显示配置摘要："
echo "• X轴刻度值: 显示位置信息 (display: true)"
echo "• Y轴刻度值: 显示故障类型名称 (display: true)"
echo "• 数据点标签: 不显示 (datalabels.display: false)"
echo "• Tooltip: 启用，鼠标悬停时显示详细信息"

# 7. 启动应用测试
echo -e "\n7. 启动应用进行测试..."
echo "请执行以下步骤："
echo "1. 启动应用程序: ./start.sh"
echo "2. 打开浏览器访问: http://localhost:8080"
echo "3. 点击任意机器查看详情"
echo "4. 观察故障分布图："
echo "   - X轴应该显示位置刻度值（如 0.0, 50.0, 100.0 等）"
echo "   - Y轴应该显示故障类型名称（如 停车位, 横条, 断头 等）"
echo "   - 数据点上不应该显示任何数值标签"
echo "   - 鼠标悬停在数据点上时应该显示tooltip"
echo "   - tooltip应该显示位置和故障类型信息"

# 8. 测试HTML页面
echo -e "\n8. 测试独立HTML页面..."
if [ -f "test-flaw-chart.html" ]; then
    echo "✓ 测试页面存在，可以在浏览器中打开查看效果"
    echo "   - 打开 test-flaw-chart.html"
    echo "   - 观察X轴和Y轴是否显示刻度值"
    echo "   - 观察数据点是否没有数值标签"
else
    echo "✗ 测试页面不存在"
fi

echo -e "\n=== 测试完成 ==="
echo "刻度值显示功能已配置，X轴显示位置，Y轴显示故障类型，数据点标签隐藏"

